package Dao;

import Dao.impl.ClienteDaoImpl;
import Dao.impl.ConfiguracoesDaoImpl;
import Dao.impl.MecanicoDaoImpl;
import Dao.impl.OrdemDeServicoDaoImpl;
import Dao.impl.ProdutoDaoImpl;
import Dao.impl.ProdutoItemDaoImpl;
import Dao.interfaces.IClienteDao;
import Dao.interfaces.IConfiguracoesDao;
import Dao.interfaces.IMecanicoDao;
import Dao.interfaces.IOrdemDeServicoDao;
import Dao.interfaces.IProdutoDao;
import Dao.interfaces.IProdutoItemDao;

public class DaoFactory {
		private static IClienteDao clienteDao = null;
		private static IMecanicoDao mecanicoDao = null;
		private static IConfiguracoesDao configuracaoDao = null;
		private static IProdutoDao produtoDao = null;
		private static IProdutoItemDao produtoItemDao = null;
		private static IOrdemDeServicoDao ordemServicoDao = null;
		public static IClienteDao getClienteDao() {
			if(clienteDao == null)
			 clienteDao = new ClienteDaoImpl();
			
			return clienteDao;
			
		
		}
		public static IMecanicoDao getMecanicoDao() {
			if(mecanicoDao == null)
				mecanicoDao = new MecanicoDaoImpl();
				
				return mecanicoDao;
		}
		public static IConfiguracoesDao getConfiguracaoDao() {
			if(configuracaoDao == null)
				configuracaoDao = new ConfiguracoesDaoImpl();
				
				return configuracaoDao;
		}
		public static IProdutoDao getProdutoDao() {
			if(produtoDao == null)
				produtoDao = new ProdutoDaoImpl();
				
				return produtoDao;
		}
		public static IProdutoItemDao getProdutoItemDao() {
			if(produtoItemDao == null)
				produtoItemDao = new ProdutoItemDaoImpl();
				
				return produtoItemDao;
		}
		public static IOrdemDeServicoDao getOrdemServicoDao() {
			if(ordemServicoDao == null)
				ordemServicoDao = new OrdemDeServicoDaoImpl();
				
				return ordemServicoDao;
		}
		
		
}
